package com.kaoshi.myweb.webstruts.controller;

import org.apache.struts2.ServletActionContext;

import com.kaoshi.myweb.webstruts.support.MyBeforeResult;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.interceptor.PreResultListener;

/*
 * ActionSupport的示例非常简单，基本上就是把MyHelloWorld的实现Action改写
成继承ActionSupport类就可以了。
1：先是执行validate()方法，如果有错误，直接添加到addFieldError中，同时回到输入页面
2：通过了validate过后，进如execute()方法，如果检测数据有错误，也是添加addFieldError，同时需要return INPUT。
3：这个时候的错误信息都放到fieldError里面了，回到页面上怎么显示呢？使用Struts2的标签来实现输出错误信息，如下：
 */
public class MyHelloWorldAction extends ActionSupport {
	public String id, name = "zhou";

	private String folder = "/WEB-INF/Views/jsp";

	@Override
	public String execute() throws Exception {
		// throw new Exception();
		// System.out.println(id + ":" + name);
		 this.folder = "/WEB-INF/Views/jsp";
		//
		// return LOGIN;
		// return "toSecond";
		// return "welcome";
		
		 ActionContext actionContext = ActionContext.getContext();
		 
		 actionContext.getSession().put("p2", "tq");
		
		
		return SUCCESS;
	}
	
	public String login() {
		System.out.println("login");
		return "toLoginOK";
	}

	@Override
	public void validate() {
		 if(id == null || id.trim().length() == 0)
		 {
		 //this.addFieldError("id", "id不允许为空");
		 this.addFieldError("id", this.getText("my.message.test"));
		 }
	}

	public String getFolder() {
		return folder;
	}

	public void setFolder(String folder) {
		this.folder = folder;
	}

}
